Message Template Designer
The Message Template Designer is a drag-and-drop supported visual interface that allows creating and customizing Message Templates simply and efficiently. The designer's purpose is to allow rapid prototyping and implementation of structured data models by reducing human error and providing features such as template modules and template merging to speed up the development process.
The Message Template Designer is accessible from the Test Assets page by clicking the Create button and selecting the Message Template menu item or by editing an existing Message Template.
Designer Layout
The main areas of the Message Template Designer are illustrated by the picture below.
The following table describes the interface areas highlighted by the red dots.
# | Name | Description |
---|---|---|
1 | Message Name Field | The field is an input area to provide a name for the Message. Click on the “Message Name” text and start typing to name the Message. |
2 | Editor Menu | The menu exposes certain operations, such as saving messages, redo and undo operation, and editing certain message attributes. |
3 | Message Layout | The tab shows the layout of the Fields and their relationship in a tree structure. It also allows reorganising Fields using drag and drop and exposes some operations using a context menu when right-clicking a Field. Simply left-clicking on a Field in the Message Layout will open the properties panel of the Field. |
4 | Assets | The tab lists all assets. Message templates can be dragged and dropped to the Workspace to merge them into the current Message. |
5 | Workspace | The Workspace visualises the Message and provides basic editing capabilities. |
6 | Field List / Editor Panel | By default, GUARDARA shows a list of Fields that can be dragged and dropped into the Workspace. The Editor Panel is only visible when a new Field is dropped onto the Workspace, or an existing Field has been selected. |
7 | Field Search | The search field allows displaying only Fields whose name matches the search criteria. |
8 | Mode Selector | Allows selecting in what format the Workspace and Preview feature should display the data. Binary mode is ideal when working with binary data structures. Text mode is the perfect choice when working with ASCII text-based data. This feature also comes in handy, for example, when manually parsing raw imported files into Fields as it makes strings visible and stand out from binary data. Please note this item is only visible if the message template is not empty. |
9 | Preview | If there is at least one Engine online, clicking this button will result in a dialogue that will contain the Message as an Engine would render it during a test run. Please note this item is only visible if the message template is not empty. In some instances, the preview may not be available. This can be, for example, when a Message depends on a session variable that is not yet set. |
Create / Edit Messages
Add Fields
Follow the instructions below to add a new Field to the Message Template.
- Drag a Field from the Field List and drop in onto the Workspace to bring up the Editor Panel.
- Using the Editor Panel configure the new Field.
- Click the Save button at the bottom of the Editor Panel to add the Field to the Message Template.
Field that have a Test Field property set to No will be shown with an opaque color this way highlighting the Fields that are tested on the Workspace.
Editing Fields
Follow the instructions below to edit a Field.
- Click on the Field in the Workspace or the Message Layout to bring up the Editor Panel.
- Update the Field using the Editor Panel.
- Click the Save button at the bottom of the Editor Panel to add the Field to the Message Template.
Removing Fields
Right click on the Field in the Workspace or the Message Layout and select the Delete option from the context menu to delete the Field.
Groups and the Message Layout
You can logically group Fields using the Group Field. As Groups can contain one or more Groups, it is possible to implement complex data structures. The Message Layout tab shows a hierarchical view of the modelled data structure.
The Message Layout allows reorganizing the Fields using a drag and drop mechanism.
Merging Messages
You can drag Message Templates from the Assets tab and drop them onto the Workspace to merge them into the Message Template you are currently working on.
Conditional Rendering
A Condition Group Collection allows you to define a set of Condition Groups, each with its list of rules. These Condition Groups can be assigned to the Group Field within Message Templates. The Group Field the Condition Group is attached to is processed only when all the rules within the Condition Group evaluate to be true.
You can create Condition Group Collections from the Test Assets page by clicking the Create button and selecting the Condition Group Collection menu item. You can assign a Condition Group Collection to a Message Template using the configuration panel of the Message Template Designer accessible from View > Configuration of the editor menu.
File Parsing
You can import raw files on the Test Assets page. An imported raw file is converted to a Message Template with a single Binary Field that includes the file's content. The Binary Field performs mutation-based test case generation. You can improve the test configuration by fully or partially parsing the file into fields. This way, areas represented by Fields are handled by generation-based algorithms and the remainder is handled by the mutation-based algorithm, forming a hybrid test case generation setup.
To parse a slice or the entire Binary Field into a Field:
- You will likely want to switch to Text Mode using the Mode Selector so you can clearly see ASCII strings. This may help fasten the parsing process.
SHIFT + Click
on the first byte of the area you want to parse, thenLeft-click
on the last byte of the area- In the Editor Panel select a compatible Field to parse the selected area into
- Set up the Field properties
- Click the Parse button
Variable Collection Assignment
You can assign a Variable Collection to the Message Template using the configuration panel of the Message Template Designer accessible from View > Configuration of the editor menu.
Condition Group Collection Assignment
You can assign a Condition Group Collection to the Message Template using the configuration panel of the Message Template Designer accessible from View > Configuration of the editor menu.